CloudFormation で RDS のパスワードを変更したが反映されないときの対処方法
困っていた内容
CloudFormation のテンプレートを書き換えて RDS(Amazon Aurora)のマスターユーザーパスワードを更新しました。CloudFormation スタックの更新完了後も、古いパスワードでログインができ、新しいパスワードに変更されていません。 パスワードを変更するにはどうしたら良いでしょうか。
どう対応すればいいの?
RDS コンソールからの変更をご検討ください。
CloudFormation から RDS のマスターユーザーパスワードの変更はサポートされていますが、変更はメンテナンスウィンドウのタイミングで反映されます。そのため、パスワードの変更をすぐに反映したい場合は、RDS コンソールから「すぐに適用」を選択し、パスワードの変更をお試しください。
参考:Amazon RDS DB インスタンスのマスターユーザーのパスワードをリセットする
CloudFormation ではなぜすぐに適用されないのですか?
DB インスタンスの設定変更は、必ずしも即時適用されるわけではなく、メンテナンスウィンドウのタイミングでも実施されます。
変更内容を即時適用したい場合、RDS コンソールの場合は変更内容を設定する際に「すぐに適用」を選択、AWS CLI または RDS API の場合はapply-immediately
パラメータをtrue
に設定する必要があります。
現時点で、CloudFormation で マスターユーザーパスワードの変更を行なった場合、自動的にapply-immediately
パラメータがfalse
の RDS API が実行され、apply-immediately
パラメータをtrue
にする方法は提供されていません。
そのため、CloudFormation のテンプレートを書き換えて RDS(Amazon Aurora)のマスターユーザーパスワードを更新しても、即時反映されるわけではないことを理解し、必要に応じて RDS コンソールもしくは AWS CLI、RDS API からの変更をご利用ください。
なお、CloudFormation にapply-immediately
オプションを追加する issue(要望)が公開されていますので、必要に応じて状況をご確認ください。